From 3b22924062b2648b3df83e9ebda6da52a28c1316 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roger=20Pau=20Monn=C3=A9?= Date: Fri, 8 May 2015 11:06:56 +0200 Subject: [PATCH] x86: add the RTC io space to the blocked access list MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Previously this was done ad-hoc in admin_io_okay. Signed-off-by: Roger Pau Monné --- xen/arch/x86/domain_build.c | 3 +++ xen/arch/x86/traps.c | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/xen/arch/x86/domain_build.c b/xen/arch/x86/domain_build.c index 03e4bfeb84..2a23746a82 100644 --- a/xen/arch/x86/domain_build.c +++ b/xen/arch/x86/domain_build.c @@ -37,6 +37,7 @@ #include #include #include +#include #include @@ -1548,6 +1549,8 @@ int __init construct_dom0( rc |= ioports_deny_access(d, pmtmr_ioport, pmtmr_ioport + 3); /* PCI configuration space (NB. 0xcf8 has special treatment). */ rc |= ioports_deny_access(d, 0xcfc, 0xcff); + /* Never permit direct access to the RTC/CMOS registers. */ + rc |= ioports_deny_access(d, RTC_PORT(0), RTC_PORT(1)); /* Command-line I/O ranges. */ process_dom0_ioports_disable(d); diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 22cdfc48ae..0b0c5e96de 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -1765,10 +1765,6 @@ static int admin_io_okay( if ( (port == 0xcf8) && (bytes == 4) ) return 0; - /* We also never permit direct access to the RTC/CMOS registers. */ - if ( ((port & ~1) == RTC_PORT(0)) ) - return 0; - return ioports_access_permitted(v->domain, port, port + bytes - 1); } -- 2.30.2